package de.drkarl.charakters;

import java.util.LinkedList;

import de.drkarl.interfaces.Observer;
import de.drkarl.simtiere.Spielfeld;

public class Animal implements Observer , Cloneable{
	
	Spielfeld spielfeld;
	public int xPosition;
	public int yPosition;
	public int speed;
	public int reichweite;
	
	public int getSpeed() {
		return speed;
	}

	public void setSpeed(int speed) {
		this.speed = speed;
	}

	public int getReichweite() {
		return reichweite;
	}

	public void setReichweite(int reichweite) {
		this.reichweite = reichweite;
	}

	public int id;

	public Spielfeld getSpielfeld() {
		return spielfeld;
	}

	public void setSpielfeld(Spielfeld spielfeld) {
		this.spielfeld = spielfeld;
	}

	public int getxPosition() {
		return xPosition;
	}

	public void setxPosition(int xPosition) {
		this.xPosition = xPosition;
	}

	public int getyPosition() {
		return yPosition;
	}

	public void setyPosition(int yPosition) {
		this.yPosition = yPosition;
	}

	public char getBezeichnung() {
		return bezeichnung;
	}

	public void setBezeichnung(char bezeichnung) {
		this.bezeichnung = bezeichnung;
	}

	char bezeichnung;
	
	
	
	
	
	public Animal(Spielfeld spielfeld , int id) {
		super();
		this.id = id;
		this.spielfeld = spielfeld;
		this.xPosition = getRandomNumber(this.spielfeld.xSize);
		this.yPosition = getRandomNumber(this.spielfeld.ySize);
	}

	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}

	public int getRandomNumber(int i){
		return (int)(Math.random()*i);
	}
	
	 public Object clone() throws CloneNotSupportedException {
	        Animal clone;
			clone = (Animal)super.clone();
	        // No need to copy name as the reference will be
	        // copied by Object's clone and String is immutable
	        return clone;
	    }

	
	public void updatePosition() {
		// TODO Auto-generated method stub

	}

}
